From: Nate Graham Date: Wed, 5 Jan 2022 16:13:12 +0000 (-0700) Subject: shell/app: Honor XDG SingleMainWindow key X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~536^2^2~8 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=a13b2358a9119fe42b2c4c0e0c05a04405a2c362;p=gnome-shell.git shell/app: Honor XDG SingleMainWindow key This is the upstreamed version of X-GNOME-SingleWindow which is now a part of the XDG desktop file spec as of version 1.5; see https://gitlab.freedesktop.org/xdg/xdg-specs/-/merge_requests/53 Part-of: --- diff --git a/src/shell-app.c b/src/shell-app.c index 587b4a4ed..a3215db59 100644 --- a/src/shell-app.c +++ b/src/shell-app.c @@ -661,7 +661,16 @@ shell_app_can_open_new_window (ShellApp *app) desktop_info = G_DESKTOP_APP_INFO (app->info); - /* If the app is explicitly telling us, then we know for sure */ + /* If the app is explicitly telling us via its desktop file, then we know + * for sure + */ + if (g_desktop_app_info_has_key (desktop_info, "SingleMainWindow")) + return !g_desktop_app_info_get_boolean (desktop_info, + "SingleMainWindow"); + + /* GNOME-specific key, for backwards compatibility with apps that haven't + * started using the XDG "SingleMainWindow" key yet + */ if (g_desktop_app_info_has_key (desktop_info, "X-GNOME-SingleWindow")) return !g_desktop_app_info_get_boolean (desktop_info, "X-GNOME-SingleWindow");